#pragma once

#include "CEGUI.h"

class CMainFrame;
class CMenuDialog
{
public:
	CMenuDialog(CMainFrame* pMainFrame);
	virtual ~CMenuDialog(void);

	void Load(const string& strFileName);

	bool OnXMLButtonClicked(const CEGUI::EventArgs& e);
	bool OnBMPButtonClicked(const CEGUI::EventArgs& e);

	bool OnSamplingChanged(const CEGUI::EventArgs& e);
	bool OnVisualEffectChanged(const CEGUI::EventArgs& e);
	bool OnKDTreeChanged(const CEGUI::EventArgs& e);

	bool OnBGColorChanged(const CEGUI::EventArgs& e);

	bool OnRenderButtonClicked(const CEGUI::EventArgs& e);

protected:
	CEGUI::Editbox* m_pInputXMLText;
	CEGUI::Editbox* m_pInputBMPText;

	CEGUI::PushButton* m_pInputXMLButton;
	CEGUI::PushButton* m_pInputBMPButton;

	CEGUI::RadioButton* m_pBasicRadioButton;
	CEGUI::RadioButton* m_pJitteredRadioButton;
	CEGUI::RadioButton* m_pAdaptiveRadioButton;

	CEGUI::Checkbox* m_pRefractionCheckButton;
	CEGUI::Checkbox* m_pReflectionCheckButton;
	CEGUI::Checkbox* m_pMotionBlurCheckButton;
	CEGUI::Checkbox* m_pDepthOfFieldCheckButton;

	CEGUI::Editbox* m_pMotionBlurEdit;
	CEGUI::Editbox* m_pDepthOfFieldEdit;

	CEGUI::Editbox* m_pBGColorR;
	CEGUI::Editbox* m_pBGColorG;
	CEGUI::Editbox* m_pBGColorB;

	CMainFrame *m_pMainFrame;

	CEGUI::PushButton* m_pRenderButton;

	CEGUI::Checkbox* m_pKDTreeCheckButton;
};

